# 录入学生数据
students = (
#学号，姓名，语文，数学，英语
    (1001, "张三", 85, 92, 78),
    (1002, "李四", 76, 88, 95),
    (1003, "王五", 92, 79, 86),
    (1004, "赵峻", 68, 75, 82),
    (1005, "钱七", 95, 90, 93)
)


def find_student_grades():
    """查找指定学生的成绩""" # 文档字符串，说明函数功能
    name = input("请输入要查询的学生姓名：")# 获取用户输入
    found = False # 标志变量，假设该学生不在
    for student in students:
        if student[1] == name:# 遍历所有学生（索引1是姓名）
            print(f"{name}的成绩：语文{student[2]}, 数学{student[3]}, 英语{student[4]}")
            found = True
            break # 找到后立即退出循环
    if not found:
        print(f"未找到学生：{name}")


def calculate_total_and_average():
    """计算每个学生的总分和平均分"""
    print("学生总分和平均分：")
    for student in students:# 遍历每个学生
        total = student[2] + student[3] + student[4]# 计算总分
        average = total / 3# 计算平均分
        print(f"{student[0]} {student[1]}: 总分{total}, 平均分{average:.1f}")


def calculate_subject_averages():
    """统计各科目的平均分"""
    chinese_total = 0# 语文总分
    math_total = 0# 数学总分
    english_total = 0# 英语总分
    count = len(students)# 学生人数

    for student in students:
        chinese_total += student[2] # 累加语文成绩
        math_total += student[3] # 累加数学成绩
        english_total += student[4]# 累加英语成绩

    chinese_avg = chinese_total / count# 计算语文平均分
    math_avg = math_total / count# 计算数学平均分
    english_avg = english_total / count # 计算英语平均分

    print(f"\n各科目平均分：")
    print(f"语文: {chinese_avg:.1f}, 数学: {math_avg:.1f}, 英语: {english_avg:.1f}")


def display_all_students():
    """显示所有学生信息"""
    print("\n所有学生信息：")
    print("学号\t姓名\t语文\t数学\t英语")# \t 制表符对齐
    print("-" * 40)# 打印分隔线
    for student in students:
        print(f"{student[0]}\t{student[1]}\t{student[2]}\t{student[3]}\t{student[4]}")
        # 使用制表符保持列对齐

def main():
    """主函数"""
    while True: # 无限循环，直到用户选择退出
        print("\n" + "=" * 50)# 菜单顶部装饰线
        print("学生成绩管理系统")# 系统标题
        print("1. 查找学生成绩")# 菜单选项
        print("2. 显示所有学生总分和平均分")
        print("3. 统计各科目平均分")
        print("4. 显示所有学生信息")
        print("5. 退出系统")
        print("=" * 50)# 菜单底部装饰线

        choice = input("请选择功能 (1-6): ")# 获取用户选择

        match choice:
            case '1':
                find_student_grades()
            case '2':
                calculate_total_and_average()
            case '3':
                calculate_subject_averages()
            case '4':
                display_all_students()
            case '5':
                print("感谢使用学生成绩管理系统！")
                break
            case _:  # 默认情况，相当于 else
                print("输入错误，请重新选择！")


# 运行程序开关
if __name__ == "__main__":# 判断是否直接运行此文件
    print(f"__name__ 的值是: {__name__}")
    main()# 如果是直接运行，则执行main函数
